﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using AdminCondominio.Persistencia;
using AdminCondominio.Dominio;
using NUnit.Framework;


namespace AdminCondominio.Pruebas
{
      [TestFixture]
    public class TestViviendaDAO
    {

        ViviendaDAO _ViviendaDAO = new ViviendaDAO();

        [Test]
        public void TestCrear()
        {

            Vivienda _vivienda = new Vivienda();
            _vivienda.Residente = new Residente();
            _vivienda.Ubicacion = "AV. Alameda";
            _vivienda.NuVivienda = 9;
            _vivienda.TxMetraje = "345x450";
            _vivienda.TiVivienda = "Departamento";
            _vivienda.Residente.CoResidente = 1;
 
        if (_ViviendaDAO.ObtenerNumVivienda(_vivienda.NuVivienda)==null){
            Assert.DoesNotThrow(delegate
             {
                  _ViviendaDAO.InsertVivienda1(_vivienda);
          });
        }               

        }

        [Test]
        public void TestObtenerVivienda()
        {
            Vivienda viviendaObtener = _ViviendaDAO.ObtenerVivienda(1);
           Assert.NotNull(viviendaObtener);
            // Assert.AreEqual(codigo, viviendaObtener.CoVivienda);
        }

        [Test]

        public void TestModificar()
        {
            Vivienda _vivienda = new Vivienda();

            _vivienda.Residente = new Residente();
            _vivienda.Residente.CoResidente = 1;
            _vivienda.Ubicacion = "AV. Ricardo Palma";
            _vivienda.NuVivienda = 2;
            _vivienda.TxMetraje = "250X345";
            _vivienda.TiVivienda = "Departamento 1 solo cuarto";
            _vivienda.CoVivienda = 16;
            
        if (_ViviendaDAO.ObtenerNumVivienda(_vivienda.NuVivienda)!=null){
         Vivienda viviendaObtener = _ViviendaDAO.ModificarVivienda(_vivienda);
            Assert.NotNull(viviendaObtener);

        }
        }

          [Test]
        public void TestListar()
        {
            String novivienda = "2";
            List<Vivienda> ListaVivienda = new List<Vivienda>();
            ListaVivienda = _ViviendaDAO.ListarVivienda(novivienda);
            Assert.IsNotNull(ListaVivienda);
            Assert.GreaterOrEqual(ListaVivienda.Count, 0); 
        }
    }
}